package com.lc.index.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lc.common.annotation.Excel;
import com.lc.index.base.BaseEntity;

/**
 * 存储用户基本信息对象 lc_users
 *
 * @author autoGen
 * @date 2025-03-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "存储用户基本信息")
@TableName("lc_users")
public class Users extends BaseEntity
        {

    /** 用户id */
    @TableId(value = "id", type = IdType.AUTO)
    @Schema(description = "PK_lc_users")
    @ApiParam(name = "id",value = "PK_lc_users")
    private Integer id;

    /** 用户名 */
    @Schema(description = "存储用户基本信息-用户名")
    @ApiParam(name = "name",value = "存储用户基本信息-用户名")
    @Excel(name = "用户名")
    @TableField(value = "`name`")
    private String name;

    /** 密码 */
    @Schema(description = "存储用户基本信息-密码")
    @ApiParam(name = "password",value = "存储用户基本信息-密码")
    @Excel(name = "密码")
    @TableField(value = "`password`")
    private String password;

    /** 邮箱 */
    @Schema(description = "存储用户基本信息-邮箱")
    @ApiParam(name = "email",value = "存储用户基本信息-邮箱")
    @Excel(name = "邮箱")
    @TableField(value = "`email`")
    private String email;

    /** 地址 */
    @Schema(description = "存储用户基本信息-地址")
    @ApiParam(name = "address",value = "存储用户基本信息-地址")
    @Excel(name = "地址")
    @TableField(value = "`address`")
    private String address;

    /** 联系电话 */
    @Schema(description = "存储用户基本信息-联系电话")
    @ApiParam(name = "phone",value = "存储用户基本信息-联系电话")
    @Excel(name = "联系电话")
    @TableField(value = "`phone`")
    private String phone;

    /** 注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "存储用户基本信息-注册时间")
    @ApiParam(name = "registrationDate",value = "存储用户基本信息-注册时间")
    @Excel(name = "注册时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(value = "`registration_date`")
    private Date registrationDate;

    /** 创建人 */
    @TableField(value = "`create_by`", fill = FieldFill.INSERT)
    private String createBy;

    /** 用户创建时间 */
    @TableField(value = "`create_time`")
    private Date createTime;

    /** 修改人 */
    @TableField(value = "`update_by`", fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /** 用户修改时间 */
    @TableField(value = "`update_time`")
    private Date updateTime;

    /** 有效标记1有效0无效(无效数据任何地方不可见) */
    @Schema(description = "存储用户基本信息-有效标记1有效0无效(无效数据任何地方不可见)")
    @ApiParam(name = "validFlag",value = "存储用户基本信息-有效标记1有效0无效(无效数据任何地方不可见)")
    @Excel(name = "有效标记1有效0无效(无效数据任何地方不可见)")
    @TableField(value = "`valid_flag`")
    private Integer validFlag;


}

